package skeleton;

import static test.Output.*;

/**
* A felvehet� kulcsok oszt�lya
* T�rolja az akt�v kulcsok sz�m�t
*/

public class Key extends ActiveItem {
	
	/**
	* �r�k�lt attrib�tumok:
	* 
	* Az elem ebben a blokkban van
	* protected Block block;
	*
	* Az elem poz�ci�ja a blokkon bel�l
	* protected Position pos;
	*
	* Az elem aktu�lis �llapota (akt�v/inakt�v)
	* protected boolean isActive;
	*/

	// A p�ly�n tal�lhat� akt�v kulcsok sz�ma
	private static int numOfActiveKeys;
	
	
	//Konstruktor
	public Key(int id) {
		this.id=id;
		pos=new Position(10,10,10,10);
		create(id, "Key");
	}
	
	// Ellen�rzi, hogy el�rt�k-e a kulcsot
	@Override
	public boolean reached(Position position) {
		call(id, "Key", "boolean reached(Position position)");
		ret(id, "Key", "boolean");
		if(position==this.pos)
			return true;
		else
			return false;
	}
	
	// Megv�ltoztatja az �llapotot a param�ternek megfelel�en
	@Override
	public void changeState(boolean state){
		call(id, "Key", "void changeState(boolean state)");
		ret(id, "Key", "");
	}
}